====== panelUpdate() ======

''void **panelUpdate**(string //Attribut//, string //Wert//, [string //Personenkennung//])''

Die Funktion ''panelUpdate()'' aktualisiert den Eintrag des aktuellen Teilnehmers in der Serienmail-Adressliste.

  * //Attribut//\\ Das Attribut des Adresslisten-Eintrags, welches geändert werden soll. Mögliche Attribute sind:
    * ''%%'subgroup'%%'' -- Teilgruppe
    * ''%%'language'%%'' -- Bevorzugte Sprachversion (3-stelliges Sprachkürzel)
    * ''%%'email'%%'' -- E-Mail-Adresse
    * ''%%'email.cc'%%'' -- CC-Adresse(n), mehrere Adressen durch Komma getrennt
    * ''%%'mobile'%%'' -- Mobiltelefonnummer für SMS
    * ''%%'uid'%%'' -- Eindeutige Benutzerkennung (nur ASCII-Zeichen)
    * ''%%'salutation'%%'' -- Grußformel (komplett)
    * ''%%'title'%%'' -- Akademischer Titel
    * ''%%'firstname'%%'' -- Vorname
    * ''%%'lastname'%%'' -- Nachname
    * ''%%'gender'%%'' -- Geschlecht für die Anrede (''%%''%%'', ''%%'female'%%'', ''%%'male'%%'', ''%%'other'%%'')
    * ''%%'custom1'%%'' bis ''%%'custom5'%%'' -- Benutzerdefinierte Felder
  * //Wert//\\ Der neue Wert für das Attribut
  * //Personenkennung//\\ Optional kann eine Personenkennung (SERIAL) für den Adresseintrag angegeben werden, welcher aktualisiert werden soll. Falls keine Personenkennung angegeben wird, aktualisiert ''panelUpdate()'' den Adresseintrag des aktuellen Teilnehmers. **Wichtig:** Die Zuordnung des laufenden Interviews zu einem Adresseintrag ist nur dann möglich, wenn ...
    * das Interview über den Link in einer Serienmail gestartet wurde oder
    * das Interview automatisch nach Bestätigung eines Opt-In-Links gestartet wurde.

**Wichtig:** Die Funktion ''panelUpdate()'' funktioniert __nicht__ für Adresseinträge, welche den Datenschutzmodus "anonym" verwenden.


===== Beispiel: Teilgruppe ändern =====

In folgendem Beispiel werden Personen, die bei der Auswahl-Frage AB01 den Wert 2 ausgewählt haben (z.B. "möchte nicht teilnehmen") in die Teilgruppe "screenout" verschoben.

<code php>
if (value('AB01') == 2) {
  panelUpdate('subgroup', 'screenout');
}
</code>

Mehr zu IF-Konstruktionen finden Sie in der Anleitung [[:de:create:php-filters]].

**Wichtig:** Dieses Beispiel funktioniert nur dann, wenn der Fragebogen über einen individuellen Teilnahmelink (in einer [[:de:survey:mailing|Serienmail]]) oder infolge einer Opt-In-Bestätigung aufgerufen wurde.


===== Beispiel: Referenz speichern =====

Im folgenden Beispiel wurde der Fragebogen mit einer [[:de:survey:url#einen_link_markieren_r|Referenz]] im Link aufgerufen. Auf Seite 3 wird mit einem Single-Opt-In (Fragekennung "OI01") ein Adresseintrag erzeugt. Der folgende PHP-Code auf Seite 4 speichert die Referenz im Feld "Benutzerdefiniert 1" des neuen Adresseintrags, um im folgenden, späteren Interview mittels ''[[:de:create:functions:panelData]]'' darauf zuzugreifen.

<code php>
$person = value('OI01');
panelUpdate('custom1', reference(), $person);
</code>

**Warnung:** Eine solche Konstellation kann dazu führen, dass eine beabsichtige Pseudonymisierung aufgehoben wird. Klären Sie den Einsatz derartiger Konstruktionen vorab mit der oder dem zuständigen Datenschutzbeauftragten.